package com.hualian.user.service;

import java.util.List;
import java.util.Map;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import com.hualian.distribution.service.DistributionService;
import com.hualian.user.entiy.User;
import com.hualian.user.mapper.UserMapper;

@Service
public class UserService {

	@Autowired
	private UserMapper userMapper;
	@Autowired
	private DistributionService distributionService;
	
	/**
	 * 验证用户登录
	 * @param param
	 * @return
	 */
	public List<Map<String,Object>> login(Map<String, Object> param){
		
//		if(access==1){
//			return true;
//		}else{
//			return false;
//		}
		return userMapper.loginValidation( param);
	}
	
	/**
	 * 创建用户
	 * @param param
	 * @return
	 */
	public int createUser(Map<String,Object> param){
		//TODO lsh 不知道什么鬼,等华神解决
//		int res=distributionService.prize((int) param.get("userId"));
//		if(res==0){
//			return 0;
//		}
		return userMapper.createUser(param);
	}
	
	/**
	 * 更新用户信息
	 * @param param
	 * @return
	 */
	public int updateUser(Map<String,Object> param){
		return userMapper.updateUser(param);
	}
	
	/**
	 * 校验用户名/邮箱/手机号是否被注册,如果得到的结果不为0则被注册,一次只能传入一个其中一个参数来校验
	 * @param param
	 * @return
	 */
	public int isDuplication(Map<String,Object> param){
		if(param.size()!=1){
			try {
				throw new Exception("传入参数有误!");
			} catch (Exception e) {
				e.printStackTrace();
			}
		}
		return userMapper.isDuplication(param);
	}
	
	/**
	 * 根据主键查询用户
	 * @param id
	 * @return
	 */
	public List<Map<String, Object>> getById(int id){
		return userMapper.getById(id);
	}
	/**
	 * 根据用户主键查询银行卡信息
	 * @param id
	 * @return
	 */
	public List<Map<String,Object>> getDebitCardById(int id){
		return userMapper.getDebitCardById(id);
	}
	
	
	
	
	/**
	 * 保存银行卡信息
	 * @param param
	 * @return
	 */
	public int createDebitCard(Map<String,Object> param){
		return userMapper.createDebitCard(param);
	}
	
	
	
	/**
	 * 更新银行卡表
	 * @param param
	 * @return
	 */
	public int updateDebitCard(Map<String,Object> param){
		return userMapper.updateDebitCard(param);
	}
	
	
	/**
	 * 根据条件查询用户
	 * @param params
	 * @return
	 */
	public List<Map<String,Object>> getUser(Map<String,Object> params){
		return userMapper.getUser(params);
	}
	
	
}
